1. Field of the Invention
The present invention relates to packet routing using mobile Internet Protocol version 6 (IPv6), and more particularly, to a home agent management apparatus and method for routing a packet using a home network equipment as a home agent.
2. Description of the Related Art
In mobile IPv6 systems, a position of a mobile node can be found using a unique home address of the mobile node regardless of whether the mobile node is presently connected to a home link or a foreign link. Such a home address is a unique Internet Protocol (IP) address allocated to a mobile node within a home subnet prefix on a home link.
When a mobile node is on a home link and a packet having a home address of the mobile node as a destination address is transmitted, one of the home agents on the home link routes the packet using a conventional Internet routing mechanism. However, when a mobile node is connected not to a home link but to a foreign link, an access router of the foreign link allocates a temporary address referred to as a care-of-address (CoA) to the mobile node and routes a packet toward the mobile node of destination using the CoA. Such a CoA is an IP address related to a mobile node having a subnet prefix of a particular foreign link.
A mobile node can be allocated a CoA through a conventional IPv6 auto configuration mechanism. While the mobile node is being located on a foreign link, packets forwarded to the CoA are routed to the mobile node. In other words, it is a CoA that is temporarily allocated to a mobile node when the mobile node is not on a home link but on a foreign link.
A process of linking a home address of a mobile node to a CoA thereof is referred to as “binding”. When the mobile node is not connected to a home link, it registers its primary CoA in a router on the home link, and the router serves as a home agent of the mobile node. The mobile node performs binding registration by sending a “binding update” message to the home agent. Then, the home agent returns a “binding acknowledgement” message to the mobile node. The binding update message and the binding acknowledgement message are transmitted using an extension header of an IPv6 packet.
In other words, the home agent determines whether the mobile node is located on a link including the home agent. If the mobile node is not located on the link, the home agent receives a binding update message from the mobile node and performs the binding to store the home address and the CoA of the mobile node in a memory referred to as a binding cache.
Thereafter, when a request for communication with the mobile node is received from a correspondent node, the home agent transmits packets to the mobile node using the CoA stored in the binding cache, which stores current mobile node location information, through tunneling. Afterwards, the mobile node directly communicates with the correspondent node through a return routability procedure and a binding update procedure.
FIG. 1 shows a structure of an IPv6 network including a home agent, a mobile node, and a correspondent node. According to mobile IPv6 standards, a plurality of home agents 120 can exist on a single link in correspondence to a single mobile node 110.
As shown in FIG. 1, the home agents 120 are located at a particular place, and at present, every home does not have a network equipment functioning as a home agent. Accordingly, even if a physical layer of a mobile IPv6 is a wireless local area network (LAN) or a code division multiple access (CDMA) network, equipment functioning as a home agent are gathered at a particular place. In other words, home agents are gathered at a particular place and provide mobile IPv6 services to every mobile node accessing a wide area network (WAN) of an Internet Service Provider (ISP) providing network services.
A binding update message from the mobile node 110 located on a foreign link is transmitted to a home agent 120 via one of the first through third access routers 130a through 130b and via a first router 140. A data packet is transmitted to an Internet network via the first router 140 and a second router 150.
FIG. 2 shows a basic IPv6 header format. A basic IPv6 header includes a version field 201, a class field 202, a flow label field 203, a payload length field 204, a next header field 205, a hop limit field 206, a source address field 207, a destination address field 208, and an extension header field 209.
FIG. 3 shows a mobility header (MH) format. An NH includes a payload proto field 310, a header length field 320, an MH type field 330, a reserved field 340, a checksum field 350, and a message data field 360.
The NH is an extension header used in any types of messages related to generation of a binding. When information that mobile IPv6 data comes next is stored in the next header field 205 of the basic IPv6 header format shown in FIG. 2, the MH follows the basic IPv6 header.
The payload proto field 310 has the same value as the next header field 205. The header length field 320 indicates a length of the MH. The MH type field 330 indicates a type of the MIH. For example, the NH type field 330 having a value of 0 indicates that the message data field 360 contains a binding refresh message. The MH type field 330 having a value of 5 indicates that the message data field 360 contains a binding update message. In other words, the binding update message is recorded in the message data field 360 of the MH, as shown in FIG. 4. The MH type field 330 having a value of 6 indicates that the message data field 360 contains a binding acknowledgement message. In other words, the binding acknowledgement message is recorded in the message data field 360 of the MH, as shown in FIG. 5.
FIG. 4 shows a binding update message 400. A mobile node uses the binding update message 400 to inform a home agent of its new CoA. The binding update message 400 includes a sequence number field 410, an acknowledge field (A) 420, a home registration field (H) 430, a single address only field (S) 440, a duplicate address detection field (D) 450, a link-local address compatibility field (L) 460, a reserved field 470, a lifetime field 480, and a mobility option field 490. The lifetime field 480 indicates the number of time units left before binding expires. A single time unit can be 4 seconds.
FIG. 5 shows a binding acknowledgement message 500. The binding acknowledgement message 500 includes a status field 510, a reserved field 520, a sequence number field 530, a lifetime field 540, and a mobility option field 550.
The status field 510 is composed of an 8-bit integer without a sign and indicates a characteristic of a binding update. The status field 510 having a value smaller than 128 indicates that the binding update has been accepted by a reception node, and the status field 510 having a value equal to or greater than 128 indicates that the binding update has been rejected by the reception node. For example, when the status field 510 has a value of 0, the binding update has been accepted. The sequence number field 530 of the binding acknowledgement message 500 is a copy of the sequence number field 410 of the binding update message 400 and is used to match the binding acknowledgement with the binding update.
However, when a binding procedure is performed using home agents included only in an ISP, each home agent is burdened with too many processing loads. Moreover, since network equipment is increasingly used at home, it is inefficient to perform the binding procedure using only home agents of the ISP without using home network equipment.